package com.zhangc.blog.base;

import java.util.Locale;

import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.MessageSource;
import org.springframework.stereotype.Service;

/**
 * 功能描述:<br>
 *
 * @author wx:fdzhangc
 * @see [相关类/方法]（可选）
 * @since [产品/模块版本] （可选）
 */
@Service
public class MessageSourceUtils {
    @Value("${spring.messages.basename}")
    private String baseName;
    @Value("${spring.messages.encoding}")
    private String encoding;
    @Autowired
    private MessageSource messageSource;

    //private ReloadableResourceBundleMessageSource bundleMessageSource = new ReloadableResourceBundleMessageSource();

    //    // 容器初始化时加载该代码
    //    @PostConstruct
    //    public void initMessageSource() {
    //        bundleMessageSource.setBasenames(baseName);
    //        bundleMessageSource.setDefaultEncoding(encoding);
    //        //setMessageSource(bundleMessageSource);
    //        messageSource = bundleMessageSource;
    //    }
    public String getMessage(String code) {
        // 通过国际化文件的key获取值
        if (StringUtils.isBlank(code)) {
            return null;
        }
        return messageSource.getMessage(code, null, Locale.CHINA);
    }

    public String getMessage(String code, Object[] args, Locale locale) {
        // 通过国际化文件的key获取值
        if (StringUtils.isBlank(code)) {
            return null;
        }
        return messageSource.getMessage(code, null, locale);
    }
}
